mysql语句块语法_MySQL------MySQL常⽤语句的语法(三⼗
四)
MySQL常⽤的语句语法
注意:1、 | 符号⽤来指出⼏个选中中的⼀个,因此NULL | NOT NULL 表⽰给出null 或 not null
2、包含在⽅括号中的关键字或⼦句是可选的(如 [like this])
3、既没有列出所有的MySQL语句,也没有列出每⼀条⼦句和选项
4、⼤写的表⽰ MySQL语法关键字
⼀、命令⾏指令:
1、启动MySQL
net start mysql
2、连接与断开服务器
mysql -h 地址 -P 端⼝ -u ⽤户名 -p 密码
⼆、数据库操作
1、查看当前数据库
select database();
2、显⽰当前时间、⽤户名,数据库版本
select now(),user(),version();
3、创建库
create database [if not exists] 数据库名 数据库选项
其中数据库选项有
--选择字符集
CHARACTER SETcharset_name--校对规则
COLLATE collation_name
4、查看已有库
show databases[like 'pattern']
5、查看当前库信息
show create database 数据库名
6、修改库的选项信息
alter database 数据库名选项信息
7、删除库
drop database[if exists] 数据库名
三、表操作
1、CREATE TABLE
create table ⽤于创建新数据库表,更新已存在的表结构使⽤ alter table ,constraints 表⽰约束
CREATE TABLEtable_name
(column datatype [NULL | NOT NULL] [CONSTRAINTS],column datatype [NULL | NOT NULL] [CONSTRAINTS],
···
);
相对复杂的
create [temporary] table [if not exists] [库名.] 表名 (表的结构定义)[表选项]
其中 temporary 表⽰临时表,会话结束时表⾃动消失
注意:
a、每个字段必须要有数据类型,最后⼀个字段后不能有逗号
b、对于字段的定义:
字段名 数据类型 [NOT NULL|NULL] [DEFAULT default_value][AUTO_INCREMENT] [UNIQUE [KEY]|[PRIMARY] KEY] [COMMENT 'string']
c、表选项:
字符集
CHARSET = charset_name
如果表没设定,使⽤数据库字符集
存储引擎
ENGINE = engine_name
表在管理数据时,往往采⽤不同的数据结构,结构不同会导致处理⽅式、提供特性操作等也不同
常见的存储引擎:InnDB、MyISAM、Memory/Heap、BDB、Merge、Example、CSV、MaxDB、Archive
不同的存储引擎在保存表的结构和数据时常采⽤不同的⽅式
MyISAM 表⽂件含义: .frm 表定义, .MYD  表数据, .MYI 表索引
InnoDB 表⽂件含义: .frm 表定义、表空间数据和⽇志⽂件
--显⽰存储引擎的状态信息
SHOW ENGINES--显⽰存储引擎的⽇志或状态信息
SHOW ENGINES 引擎名 {LOGS| STATUS}
2、查看所有表
SHOW TABLES[LIKE 'pattern']SHOW TABLESFROM 表名
3、查看表结构
SHOW CREATE TABLE表名DESC 表名 / DESCRIBE 表名 / EXPLAIN 表名 /
SHOW COLUMNS FROM 表名 [LIKE 'pattern']SHOWTABLE STATUS [FROM db_name] [LIKE 'pattern']
4、ALTER TABLE
alter table ⽤来更新已存在表的模式,为了创建新表,应该使⽤create table,constrains 表⽰约束
ALTER TABLEtablename
(ADD column datatype [NULL | NOT NULL] [CONSTRAINTS],CHANGE column columns datatype [NULL| NOT NULL] [CONSTRAINTS],DROP column,
······
mysql删除重复的数据保留一条);
a、修改表本⾝选项
ALTER TABLE 表名 表名的选项
b、对表进⾏重命名
RENAME TABLE 原表名 TO 新表名
c、修改表的字段结构
ALTER TABLE 表名 操作名
有如下操作名
--增加字段
ADD [COLUMN]字段名--创建主键
ADD PRIMARY KEY(字段名)--创建唯⼀索引
ADD UNIQUE [索引名](字段名)--创建普通索引
ADD INDEX [索引名](字段名)--删除字段
DROP [COLUMN]字段名--⽀持对字段属性进⾏修改
MODIFY [COLUMN]字段名 字段属性--⽀持对字段名进⾏修改
CHANGE [COLUMN]原字段名 新字段名 字段属性--删除主键
DROP PRIMARY KEY
--删除索引
DROP INDEX索引名--删除外键
DROP FOREING KEY 外键
5、删除表
DROP TABLE [if exists] 表名 ...
6、清空表数据
TRUNCATE [TABLE] 表名
7、复制表结构
CREATE TABLE 表名 LIKE 要复制的表名
8、复制表结构和数据
CREATE TABLE 表名 [AS] SELECT * FROM 要复制的表名
四、数据操作
1、INSERT
insert 给表增加⼀⾏,或多⾏
INSERT INTO table_name [(column,···)]
VALUES(values,···);--INSERT INTOtable_name[(column,···)] VALUES(values,···),
(values,···),
···
(values,···);
insert select 插⼊select 的结果到⼀个表
INSERT INTO table_name [(columns,···)]
SELECT columns,··· FROMtable_name,···[WHERE ···];
注意:
如果要插⼊的值列表包含所有字段并且顺序⼀致,则可以省略字段列表,
可以同时插⼊多条记录
字段列表可以⽤ “*”代替表⽰所有字段
2、DELETE
delete 从表中删除⼀⾏或多⾏
DELETE FROM table_name [WHERE ···] ;
没有条件⼦句,会删除所有数据
3、UPDATE
update 更新表中⼀⾏或多⾏
UPDATE table_name SET column_name =value,···[WHERE ···];
五、字符集编码
MySQL,数据库,表,字段均可设置编码
--数据编码与客户端编码不需⼀致--查看所有字符集编码项
SHOW VARIABLES LIKE 'character_set_%'
--客户端向服务器发送数据时使⽤的编码
character_set_client--服务器端将结果返回给客户端时使⽤的编码
character_set_results--连接层编码
character_set_connection
注意:
--设置编码
SETNAMES GBK;--相当于完成以下三个设置
SET 变量名 =变量值
setcharacter_set_client=gbk;
setcharacter_set_results=gbk;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。