mysql SQL语句(mysql 入门)

DDL数据定义语句
DML数据操控语句
DCL数据控制语句

1.连接数据库
cmd命令行
未设置密码: mysql直接进入
mysql -uroot p123456(-u指定用户名,-p指定密码,也可以加上数据库名表示连接数据库)

2.基本函数
选择数据库
use test_1;
查看数据库中的所有表
show tables;
查看表属性

1)DDL
创建数据库
create database test_1;
删除数据库
drop database test_1;
创建表
create table mc(uid int primary kay,uname var);
查看表定义 desc mc
show create table mc \G;
删除表
drop table mc;
修改表
ALTER TABLE mc ADD COLUMN grade INT(2);#添加字段grade
ALTER TABLE mc MODIFY grade INT(3);#修改字段类型
ALTER TABLE mc DROP COLUMN grade;#删除
ALTER TABLE mc CHANGE id uid INT(10); #改名
ALTER TABLE mc ADD sex VARCHAR(2) AFTER uid;#在指定位置添加字段
ALTER TABLE mc MODIFY grade INT(2) FIRST;#更改字段位置
ALTER TABLE mc RENAME WutheringWaves;#改表名

2)DML
对表记录操作
插入,更新,删除,查询
#创建表便于后续示例操作
create table chara(
cno int(2) primary key,
cname char(6) unique,
csex char(2) check csex in(‘男’,‘女’),
age int(2)
);
insert into chara
values
(1,‘忌炎’,‘男’,23),
(2,‘吟霖’,‘女’,27),
(3,‘今汐’,‘女’,16),
(4,‘长离’,‘女’,null),
(5,‘折枝’,‘女’,19),
(6,‘相里要’,‘男’,null);
insert into chara(cname,ano,csex) values (‘卡卡罗’,7,‘男’);#未表示插入的字段自动补充为null
#完毕#

插入
insert into mc (uid,sex,grade) values(105951449,‘男’,66);
#这是我uid,有没有一块玩的,加我
insert into mc
values
(80,100000000,null);
(32,1,‘女’),
(46,3,‘男’),
(12,2,‘女’),
(56,7,‘男’);
更新
update mc set uid =1001 where uid=1;#可同时更新多个表,格式一致
删除
delete from mc where uid =9;
delete a,b from mc a,chara b where a.uid=b.cno and b.cname=‘卡卡罗’;#同时删除多张表
查询
·1查询不重复记录
distinct
·2条件查询
与Oracle的where语句一致
·3排序和限制
limit MySQL独有,其他数据库不通用

mysql>select * from chara where cno order by cno limit 2,3;
#默认情况起始偏移量为0,从第二行开始显示3行数据
查询结果:
+-----+--------+------+------+
| cno | cname  | csex | age  |
+-----+--------+------+------+
|   3 | 今汐   | 女   |   16 |
|   4 | 长离   | 女   | NULL |
|   5 | 折枝   | 女   |   19 |
+-----+--------+------+------+
3 rows in set (0.00 sec)

·4聚合
with rollup 对结果进行汇总

mysql> select cno,csex,count(*) from chara group by csex with rollup;
+-----+------+----------+
| cno | csex | count(*) |
+-----+------+----------+
|   2 | 女   |        5 |
|   1 | 男   |        2 |
|   1 | NULL |        7 |
+-----+------+----------+

3 rows in set (0.00 sec)

·5表连接
左连接 left join on 右连接 right join on
·6子查询
in not in = != exists not exists
·7记录连接
union合并重复 union all 显示所有

mysql>   select uid from mc
    ->   union
    ->   select cno from chara;
+-----------+
| uid       |
+-----------+
|         2 |
|         3 |
|      1001 |
| 100000000 |
| 105951449 |
|         7 |
|         1 |
|         5 |
|         6 |
|         4 |
+-----------+
10 rows in set (0.00 sec)

3)DCL
授权用一般很少使用
在cmd窗口中授权数据库插入查询另一个数据库的操作
GRANT SELECT,INSERT ON test_1.* TO ‘mc’@‘localhost’ IDENTIFIED BY ‘123456’;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值