一、SQL语句
MySQL数据库的SQL语句不区分大小写,关键字建议使用大写,以分号结尾。
例如:
SELECT * FROM user;
使用/**/、 - - 、# 的方式完成注释
/*
多行注释
*/
-- 单行注释
# 单行注释
二、SQL中数据类型
类型名称 | 说明 |
---|---|
int | 整数类型 |
double | 小数类型 |
decimal(m,d) | 指定整数位与小数位长度的小数类型 |
date | 日期类型,格式为yyyy-MM-dd,包含年月日,不包含时分秒 |
datetime | 日期类型,格式为 YYYY-MM-DD HH:MM:SS,包含年月日时分秒 |
timestamp | 日期类型,时间戳 1970-01-01 00:00:00 - 2038-12-31 23:59:59 |
varchar(M) | 文本类型, M为0~65535之间的整数(可变长度) |
char(M) | 文本类型, M为0~65535之间的整数(不可变长度) |
三、表操作
1、创建表
/*
创建表, 格式:
create table 表名 (
字段名 数据类型[长度] [约束],
字段名 数据类型[长度] [约束],
...
);
注:[]中的内容是可选项
*/
例如创建表student, 字段包括 编号id\ 姓名name\ 年龄age:
CREATE TABLE student (
id INT,
name VARCHAR(100),
age INT
);
再例如创建表users, 字段包括 编号id\ 用户名username \ 密码password
CREATE TABLE users (
id INT,
username VARCHAR(100),
PASSWORD VARCHAR(100)
);
2、查看表
查看所有表
格式: show tables
SHOW TABLES;
查看指定表的建表结构
格式: show create table 表名;
SHOW CREATE TABLE users;
3、删除表
格式: drop table 表名;
DROP TABLE users;
4、修改表结构格式
对表中的列进行修改
1、添加新的列
格式: alter table 表名 add 新列名 数据类型(长度);
2.、修改列的数据类型(长度)
格式: alter table 表名 modify 列名 修改后的数据类型(长度);
3、 修改列的名称
格式: alter table 表名 change 列名 新列名 新列名的数据类型(长度);
4.、删除指定列
格式: alter table 表名 drop 列名;
删除行:delete from persons where pid= ‘1’;(主键)
ALTER TABLE student ADD `desc` VARCHAR(100); -- 添加新的列
ALTER TABLE student MODIFY `desc` VARCHAR(50); -- 修改列的数据类型(长度)
ALTER TABLE student CHANGE `desc` description VARCHAR(100);-- 修改列的名称
ALTER TABLE student DROP description; -- 删除指定列
对表进行修改
1、修改表的名称
格式: rename table 表名 to 新表名;
2、修改表的字符编码
格式: alter table 表名 character set 字符编码;
RENAME TABLE student TO stu; -- 修改表的名称
ALTER TABLE stu CHARACTER SET gbk; -- 修改表的字符编码(把你上面做的修改显示出来)
四、表中记录操作
1、插入表记录
方式一:对指定的字段插入值
格式: insert into 表名(字段1, 字段2, ...) values (值1,值2, ...);
方式二: 对所有字段插入值
格式: insert into 表名 values(值1, 值2, ...);
方式三:一次性插入多条数据
格式: 表名(字段1, 字段2, ...) values (值1, 值2, ...),(值1, 值2, ...);
INSERT INTO student(id, NAME, age) VALUES(1, 'tom', 24);
INSERT INTO student(NAME, age) VALUES('lili', 22);
INSERT INTO student(id, NAME, age) VALUES(3, 'jim', NULL);
INSERT INTO student VALUES(4, 'jack', 26);
INSERT INTO student VALUES(5, 'zhangsan', 26),(6,'lisi',27);
INSERT INTO student (id ,name,age) VALUES (1,'李四',20),(2,'zhangsan',30);
输入命令并执行:
执行结果:
注意
1、值与字段必须对应,个数相同,类型相同
2、值的数据大小必须在字段的指定长度范围内
3、除了整数\小数类型外,其他字段类型的值必须使用引号引起来 (建议单引号)
4、如果要插入空值,可以不写字段, 或者插入null
2、更新表记录
格式: update 表名 set 字段1=值, 字段2=值... where 条件;
UPDATE student SET NAME='lili', age=21 WHERE id=1; #把id=1的名字都改为lili且年龄都为21
UPDATE student SET age=25 WHERE age=27; #将年龄为27的改为25
对比上面的内容可看出修改
注意
1、 列名的类型与修改的值要一致
2、 修改值时不能超过字段的长度范围
3、 除了整数\小数类型外,其他字段类型的值必须使用引号扩起来
3、删除表记录
格式: delete from 表名 where 条件;
DELETE FROM student WHERE id=1;
DELETE FROM student WHERE age IS NULL;
执行结果: