MySQL数据库笔记
基本篇:DDL(数据定义语言)
--CREATE 创建
--DROP 删除
--ALTER 更改
黑窗口:
停止MySql:net stop mysql
启动MySql:net start mysql
masql -hlocalhost(主机) -p3306(端口) -u root(用户)-p(密码)
SQL通用语法
1.SQL语句可以单行或多行书写,以分号结尾。
2. SQL语句可以使用空格/缩进来增强语句的可读性。
3. MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
4.注释:
·单行注释:--注释内容或#注释内容(MySQL特有)
·多行注释:/*注释内容*/
SQL分类
DDL Data Definition Language
数据定义语言,用来定义数据库对象(数据库,表,字段)
DML Data Manipulation Language
数据操作语言,用来对数据库表中的数据进行增删改
DQL Data Query Language
数据查询语言,用来查询数据库中表的记录
DCL Data Control Language
数据控制语言,用来创建数据库用户、控制数据库的访问权限
DDL-数据库操作
查询select
1.查询所有数据库:show databases;
2.查询当前数据库:select database();
创建create
1.create database 数据库名 字符集 排列规则;
删除drop
1.drop database 数据库名;
使用use
1.use 数据库名;
DDL-表结构-查询
查询当前数据库所有表:SHOW TABLES(show tables);
查询表结构:DESC(desc)表名;
查询指定表的建表语句:SHOW CREATE TABLE(show create table)表名;
DDL-表操作-创建
CREATE TABLE(create table)表名(
字段1字段1类型[ COMMENT(comment)字段1注释],
字段2字段2类型[COMMENT字段2注释],
字设3字段3类型[COMMENT 字段3注释],
字段n字段n类型[COMMENT字段n注释] (最后一个没逗号)
) [ comment表注释];
修改表(alter table)
修改表名:alter table 旧表名 rename as(to) 新表名
添加字段:alter table 表名 add 字段名 列类型[属性]
修改字段:alter table 表名 modify 字段名 列类型[属性]---修改字段数据类型
alter table 表名 change 旧字段名 新字段名 列类型[属性]--修改字段名称
删除字段:alter table 表名 drop 字段名
删除表:
drop table 表名
数值类型(常用):tinyint int double
字符串类型:char[m] 固定长字符串 [0-255] varchar[0-65535] text 文本串
日期和时间数值类型: datetime YY-MM-DD hh:mm:ss
数据字段属性:
unsigned :无符号的,声明不允许负数
zerofill:不足位数用0填充
auto_increment:自动增长
null 和not null:默认null
defaule:默认的
增,删,改:DML(数据操作语言)
--insert 添加,插入
--update 更新,修改
--delete 删除
insert添加命令:
insert into 表名(字段1,字段2)
values('值1','值2');可同时插入多条数据,values后用英文逗号隔开
update修改数据
update命令:
update 表名 set 修改的字段=修改的值
where 字段(约束字段)
value 为修改后的数据,可以为变量、具体值、表达式或者嵌套的select结果
delete 删除命令:
delete from 表名 where condition
condition为筛选条件,如不指定则删除该表的所有列数据
区别与:truncate命令,用于完全清空表数据,但表结构,索引,约束等不变
truncate [table] table_name
相同:
都能删除数据、不删除表结构,但truncate 速度更快
不同:
使用truncate table重新设置AUTO_INCREMENT计数器
使用TRUNCATE TABLE不会对事务有影响