1、登录 mysql -uroot -p
回车后输入 密码
2、查询所有数据库 show databases;
3、新建数据库 create database <数据库名>;
4、使用某个数据库 use <数据库名>;
5、删除数据库drop database <数据库名>;
6、查询某个数据库里所有表show tables;
7、新建一张表CREATE TABLE table_name (column_name column_type);
8、删除一张表DROP TABLE table_name ;
9、插入数据 INSERT INTO 表的名字(列名a,列名b,列名c) VALUES(值1,值2,值3);
10、and
、or
、between
11、IN
、NOT IN
,用于筛选“在”或“不在”某个范围内的结果,比如说我们要查询在 dpt3 或 dpt4 的人:
12、LIKE
用于实现模糊查询,常见于搜索功能中。
和 LIKE 联用的通常还有通配符,代表未知字符。SQL中的通配符是 _ 和 % 。其中 _ 代表一个未指定字符,% 代表不定个未指定字符
比如,要只记得电话号码前四位数为1101,而后两位忘记了,则可以用两个 _ 通配符代替:
另一种情况,比如只记名字的首字母,又不知道名字长度,则用 % 通配符代替不定个字符:
13、ORDER BY
排序使用 ,还会配合 ASC
和DESC
即升序和降序。查询结果默认升序排序
14、内置函数和计算
15、子查询
SELECT of_dpt,COUNT(proj_name) AS count_project FROM project GROUP BY of_dpt
HAVING of_dpt IN
(SELECT in_dpt FROM employee WHERE name='Tom');
16、修改表名字
RENAME TABLE 原名 TO 新名字;
ALTER TABLE 原名 RENAME 新名;
ALTER TABLE 原名 RENAME TO 新名;
17、对列的修改
17.1、增加一列
ALTER TABLE 表名字 ADD COLUMN 列名字 数据类型 约束;
或:
ALTER TABLE 表名字 ADD 列名字 数据类型 约束;
ALTER TABLE employee ADD height INT(4) DEFAULT 170;
新增列默认放在最右边,如果要把增加的列插入在指定位置,则需要在语句的最后使用AFTER
关键词(“AFTER 列1” 表示新增的列被放置在 “列1” 的后面)。
ALTER TABLE employee ADD weight INT(4) DEFAULT 120 AFTER age;
如果想放在第一列的位置,则使用FIRST
关键词,如语句:
ALTER TABLE employee ADD test INT(10) DEFAULT 11 FIRST;
17.2 删除一列
ALTER TABLE 表名字 DROP COLUMN 列名字;
或: ALTER TABLE 表名字 DROP 列名字;
17.3 重命名一列
ALTER TABLE 表名字 CHANGE 原列名 新列名 数据类型 约束;
ALTER TABLE employee CHANGE height shengao INT(4) DEFAULT 170;
18、 对表的内容进行修改
18.1、修改表中某个值或某列某个字段值
UPDATE 表名字 SET 列1=值1,列2=值2 WHERE 条件;
比如,我们要把 Tom 的 age 改为 21,salary 改为 3000:
UPDATE employee SET age=21,salary=3000 WHERE name='Tom';
18.2、删除一行记录
DELETE FROM 表名字 WHERE 条件;
19、索引
20、视图
视图是从一个或多个表中导出来的表,是一种虚拟存在的表。它就像一个窗口,通过这个窗口可以看到系统专门提供的数据,这样,用户可以不用看到整个数据库中的数据,而只关心对自己有用的数据。
注意理解视图是虚拟的表:
- 数据库中只存放了视图的定义,而没有存放视图中的数据,这些数据存放在原来的表中;
- 使用视图查询数据时,数据库系统会从原来的表中取出对应的数据;
- 视图中的数据依赖于原来表中的数据,一旦表中数据发生改变,显示在视图中的数据也会发生改变;
- 在使用视图的时候,可以把它当作一张表。
CREATE VIEW 视图名(列a,列b,列c) AS SELECT 列1,列2,列3 FROM 表名字;
现在我们创建一个简单的视图,名为 v_emp,包含v_name,v_age,v_phone三个列:
CREATE VIEW v_emp (v_name,v_age,v_phone) AS SELECT name,age,phone FROM employee;
查询的时候 可以把视图看作一张表,直接查询就行
select * from v_emp
21、数据导出
22、备份
23、数据导入
24、输入提示符
image.png当我们输入一个 '
号,而后面没有结束符号的话,后面所有的输入是会被忽略的,这时的处理方法是输入关闭的引号字符(这样 mysql 知道你完成了字符串),然后输入\c
(退出当前的命令):
mysql> SELECT * FROM my_table WHERE name = 'Smith AND age < 30;
'> '\c
mysql>
image.png
CHAR
和VARCHAR
的区别: CHAR 的长度是固定的,而 VARCHAR 的长度是可以变化的,比如,存储字符串 “abc",对于 CHAR(10),表示存储的字符将占 10 个字节(包括 7 个空字符),而同样的 VARCHAR(12) 则只占用4个字节的长度,增加一个额外字节来存储字符串本身的长度,12 只是最大值,当你存储的字符小于 12 时,按实际长度存储。
ENUM和SET的区别: ENUM 类型的数据的值,必须是定义时枚举的值的其中之一,即单选,而 SET 类型的值则可以多选。
网友评论