MySQL学习【第五篇SQL语句上】
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL学习【第五篇SQL语句上】,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4764字,纯文字阅读大概需要7分钟。
内容图文
database();
5.创表必须知道的数据类型
1.int 整数 -2^31~2^31 -1
2.varchar 字符类型(变长)
3.char 字符类型(定长)
4.tinyint 整数 -128~128 (取值范围)
5.enum 枚举类型,只能选择枚举的一种类型,例如enum(‘m‘,‘f‘)
6.datatime 时间类型
6.创表所需的数据属性
1.not null 非空
2.primary key 主键(唯一且非空)
3.unique key 唯一键(唯一可非空)
4.auto_increment 自增(必须是主键或唯一键)
5.unsigned 非负
6.default 默认
7.comment 注释
7.创建表
1.创建一个名字叫student的表,表中有列名为(sid,sname,sage,sgender,cometime) ,其中sid为int类型,非空,设为主键,并且自增,注释为学号;sname为varchar类型为20位(一个中文占3位,和字符集有关),非空,注释为学生姓名;
sage为tinyint类型 ,非负数(因此取值范围为【0-256】),注释为学生年龄;sgender为枚举类型,非空,默认为男(m),注释为学生性别;cometime为datatime类型,默认为设置时间,注释为入学时间,字符集设为utf8,引擎为innodb
mysql> create table student( sid INT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT ‘学号’, sname VARCHAR(20) NOT NULL COMMENT ‘学生姓名’, sage TINYINT UNSIGNED COMMENT ‘学生年龄’, sgender ENUM(‘m‘,‘f‘) NOT NULL DEFAULT ‘m’ COMMENT ‘学生性别’, cometime DATETIME default NOW() COMMENT ‘入学时间’)chatset utf8 engine innodb;
2.查看建表语句
mysql> show create table student;
3.查看当前数据库下有什么表
mysql> show tables;
4.查看表中列的定义信息
mysql> desc student;
5.删除表
mysql> drop table student;
6.修改表名
mysql> alter table student rename stu;
7.添加列和列定义
mysql> alter table stu add age int;
8.添加多个列
mysql> alter table stu add test varchar(20),add qq int;
9.添加列为第一列
mysql> alter table stu add classid varchar(20) first;
10.添加列为指定位置
mysql> alter table stu add phone int after age;
11.删除指定列
mysql> alter table stu modify sid varchar(20);
12.修改列名,以及约束条件
mysql> alter table stu change phone telphone char(20);
8.授权用户
1.授权root@‘10.0.0.1‘用户所有权限(并非超级管理员)
mysql> grant all on *.* to root@‘10.0.0.1‘ identified by ‘123‘;
2.授权一个用户为超级管理员
mysql> grant all on *.* to root@‘10.0.0.1‘ identified by ‘123‘ with grant option;
其他一些能在后面带的参数
max_queries_per_hour:一个用户每小时可发出的查询数量
max_updates_per_hour:一个用户每小时可发出的更新数量
max_connetions_per_hour:一个用户每小时可连接到服务器的次数
max_user_connetions:允许同时连接数量
3.收回一个用户select权限
mysql> revoke select on *.* from root@‘10.0.0.1‘;
4.查看某个用户的权限
mysql> show grants for root@‘10.0.0.1‘;
9.插入数据
1.插入单条数据
mysql> insert into stu(classid,birth.sname,sage,sgender,comtime,telnum,qq) values(‘linux01‘,1,NOW(),‘zhangsan‘,20,‘m‘,NOW(),110,123456);
2.插入多条数据
mysql> insert into stu(classid,birth.sname,sage,sgender,comtime,telnum,qq) values(‘linux01‘,1,NOW(),‘zhangsan‘,20,‘m‘,NOW(),110,123456), (‘linux02‘,2,NOW(),‘zhangsi‘,21,‘f‘,NOW(),111,1234567);
10.更新数据
1.更新一张表某个列的所有数据
mysql> update student set sgender=‘f‘;
也可以
mysql> update student set sgender=‘f‘ where 1=1;
2.更新一张表某个列某行的数据(添加条件)
mysql> update student set sgender=‘f‘ where sid=1;
11.删除数据
1.删除一张表的所有数据
mysql> delete from student;
2.删除一张表指定区域的数据
mysql> delete from student where sid=3;
3.删除表
mysql> truncate table student;
4.伪删除,就是内容还在,但可以用一些手段看不到,真实工作环境使用
mysql> alter table student add status enum(1,0) default 1; mysql> update student set status=‘0‘ where sid=1; mysql> select * from student where status=1;
12.select用法
1.查询student表中的列name
mysql> select name from student;
2.限制查询行数为2
mysql> select name from student limit 2;
3.去重查询
mysql> select district(name) from student ;
4.查询所得到信息的数目
mysql> select count(name) from student;
5.查询指定信息(查二班的同学名字)
mysql> select name from student where class=2;
6.多条件查询(查二班的长的丑的人名字)
mysql> select name from student where class=2 and face=‘ugly‘;
7.模糊查询
mysql> select nam from student where name like ‘%H%‘ ;
8.顺序查询
mysql> select name from student order by hight asc;
9.倒叙查询
mysql> select name from student order by hight desc;
10.范围查询
mysql> select * from student where class>1;
11.范围or,in,不等于(<>)
mysql> select * from student where name=‘CHN‘ or face=‘ugly‘; 就当有个叫两个名字的人吧 mysql> select * from student where name in (‘张三‘,‘李四‘); 不在二班的人 mysql> select * from student where class<>2;
MySQL学习【第五篇SQL语句上】
标签:variables like 一个 order by 内容 nts str tab inno
本文系统来源:https://www.cnblogs.com/busiren/p/10579049.html
内容总结
以上是互联网集市为您收集整理的MySQL学习【第五篇SQL语句上】全部内容,希望文章能够帮你解决MySQL学习【第五篇SQL语句上】所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。