1.SQL语句的书写语法
- MySQL数据库的SQL语句不区分大小写,关键字建议使用大写,以分号结尾。例如:
SELECT * FROM user;
- 使用/**/、 – 、# 的方式完成注释
/*
多行注释
*/
-- 单行注释
# 单行注释
SELECT * FROM user;
2.SQL中数据的常用数据类型
MySQL中的我们常使用的数据类型如下
类型名称 | 说明 |
---|---|
int | 整数类型 |
double | 小数类型 |
decimal(m,d) | 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之间的整数(不可变长度) |
3.表操作 |
- 创建表
/*
创建表, 格式:
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)
);
- 查看表
-- 查看所有表, 格式: show tables
SHOW TABLES;
-- 查看指定表的建表结构, 格式: show create table 表名;
SHOW CREATE TABLE users; 1234
- 删除表
-- 删除表, 格式: drop table 表名;
DROP TABLE users;
- 修改表结构格式
/*
对表中的列进行修改
1. 添加新的列, 格式: alter table 表名 add 新列名 数据类型(长度);
2. 修改列的数据类型(长度), 格式: alter table 表名 modify 列名 修改后的数据类型(长 度);
3. 修改列的名称, 格式: alter table 表名 change 列名 新列名 新列名的数据类型(长度);
4. 删除指定列, 格式: alter table 表名 drop 列名;
*/
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;-- 删除指定列
/*
对表进行修改
- 修改表的名称, 格式: rename table 表名 to 新表名;
- 修改表的字符编码, 格式: alter table 表名 character set 字符编码;
*/
RENAME TABLE student TO stu; -- 修改表的名称
ALTER TABLE stu CHARACTER SET gbk; -- 修改表的字符编码
4.表中记录操作
- 插入表记录
/*
插入表记录
方式一, 对指定的字段插入值, 格式: 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);
注意
- 值与字段必须对应, 个数相同, 类型相同
- 值的数据大小必须在字段的指定长度范围内
- 除了整数\小数类型外, 其他字段类型的值必须使用引号引起来 (建议单引号)
- 如果要插入空值, 可以不写字段, 或者插入null
- 更新表记录
-- 更新表记录, 格式: update 表名 set 字段1=值, 字段2=值... where 条件;
UPDATE student SET NAME='lili', age=21 WHERE id=1;
UPDATE student SET age=25 WHERE age=27;
注意
- 列名的类型与修改的值要一致
- 修改值时不能超过字段的长度范围
- 除了整数\小数类型外, 其他字段类型的值必须使用引号扩起来
删除表记录
-- 删除表记录, 格式: delete from 表名 where 条件;
DELETE FROM student WHERE id=1;
DELETE FROM student WHERE age IS NULL;