一、mysql 数据库/表的操作
连接数据库 | mysql -u root -p |
退出数据库 | quit/exit |
查看当前使用的数据库 | select database() |
查看所有数据库 | show databases |
创建数据库 | create database test |
查看创建数据库的语句 | show create database test |
使用数据库(use 数据库名) | use test |
删除数据库( drop database 数据库名) | drop database test |
二、数据表的操作
查看当前数据库中所有表 show tables
常见的约束类型:
int unsigned | 表无符号整形 |
auto_increment | 表示自动增长 |
not null | 表示不能为空 |
primary key | 表示主键 |
default | 默认值 |
创建表 create table 数据表名字 (字段1 类型 约束, 字段2 类型 约束...)
例:创建用户信息表user,如下:
数据表属于数据库,在创建数据表之前,应使用语句“USE<数据库>”指定操作在哪个数据库中进行,如果没有选择数据库,就会抛出 No database selected 的错误。
创建用户信息表代码如下:
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT '用户名',
`password` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT '密码',
`nickname` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '昵称',
`email` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '邮箱',
`user_pic` text COLLATE utf8_unicode_ci COMMENT '用户的头像',
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
三、数据的操作,增查改删
1.SQL 的 SELECT 语句
SELECT
语句用于从表中查询数据。执行的结果被存储在一个结果表中(称为结果集)。语法格式如下:
- 注意:SQL 语句中的关键字对大小写不敏感。
SELECT
等效于select
,FROM
等效于from
- 注意:在执行语句的时候,需要选择默认的数据库,双击选择指定的数据库即可
查询所有列写法:
SELECT 列名称
示例:
2.SQL 的 INSERT INTO 语句
INSERT INTO
语句用于向数据表中插入新的数据行,语法格式如下:
代码:
-
注意:新的数据需要加上引号,否则会报错
insert into users (username, password) values ('mz', '123456')
insert into 表名 set 字段1 = 值1,字段1 = 值1,字段1 = 值1;
3.SQL 的 UPDATE 语句
Update
语句用于修改表中的数据。语法格式如下:
代码:
update users set password=654321 where id=4
update users set password=888888, status=1 where id=4
-
多个被更新的列之间, 使用英文的逗号进行分隔
-
where 后面跟着的是更新的条件
-
注意: 初学者经常忘记提供更新的 where 条件,这样会导致整张表的数据都被更新,一定要慎重
4.SQL 的 DELETE 语句
-
DELETE 语句用于删除表中的行
delete from users where id=4
-
注意: 不要忘记提供更新的 where 条件,这样会导致整张表的数据都被更新,一定要慎重
5.WHERE 子句
WHERE子句用于限定选择的标准。在 SELECT、UPDATE、DELETE 语句中,皆可使用 WHERE 子句来限定选择的标准
可在 WHERE
子句中使用的运算符:
注意:在某些版本的 SQL 中,操作符 <>可以写为 !=
可以通过 WHERE子句来限定 SELECT 的查询条件:
-- 查询 id 为 1 的所有用户
select * from users where id=1
-- 查询 id 大于 2 的所有用户
select * from users where id>2
--查询 username 不等于 admin 的所有用户
select * from users where username<>'zs'
6.SQL 的 ORDER BY 子句
语法
ORDER BY
语句用于根据指定的列对结果集进行排序ORDER BY
语句默认按照升序对记录进行排序,ASC
关键字代表升序排序- 如果您希望按照降序对记录进行排序,可以使用
DESC
关键字
ORDER BY
子句 - 升序排序:
-- 下面这两条 SQL 语句是等价的,
-- 因为 order by 默认进行升序排序
-- 其中,ASC 关键字代表升序排序
-- select * from users order by status
select * from users order by status asc
ORDER BY
子句 – 降序排序:
-- desc 代表降序排序
select * from users order by status desc
7.SQL 的 COUNT(*) 函数
COUNT(*)
函数用于返回查询结果的总数据条数
8.使用 AS 为列设置别名
如果希望给查询出来的列名称设置别名,可以使用 AS
关键字
-- 将列名从 count(*) 修改为 total
select count(*) as total from users where status=0
-- 将列名 username 改为 uname, password 改为 upwd
select username as uname, password as upwd from users