|
1、数据库连接
[root@localhost ~]# mysql -u root -p
Enter password:输入以上命令,回车后输入密码,回车,出现 mysql> 命令提示窗口则表示登录成功,可以在mysql>下输入任何sql语句。
mysql> exit
Bye2、创建数据库
语法:CREATE DATABASE <数据库名>;先连接mysql服务后,再使用sql语句。可以通过命令连接也可以通过客户端工具例如navicat连接,以下创建一个库名为lemon的数据库
mysql> create DATABASE lemon;3、显示数据库
语法:show databases;示例:查看mysql服务所有数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| future |
| lemon |
| mysql |
| test |
| test_mysql |
+--------------------+4、删除数据库
语法:drop database <数据库名>;drop删除数据库命令谨慎使用,一旦删除,所有数据都没有了。以下示例:删除一个库名为test的数据库。
mysql> drop DATABASE test;5、选择数据库
语法:use <数据库名>;示例:选取数据库lemon进行操作。
mysql> use lemon;
Database changed6、创建表
语法:create table <表名> ( <字段名1> <类型1>,<字段名2> <类型2>, ...,<字段名n> <类型n>);示例:需要创建一个学员信息表,用于存储学号、姓名、性别、班级、年龄。
create table student(
sno int(8) not null primary key auto_increment comment &#39;学号&#39;,
sname varchar(20) NOT NULL comment &#39;姓名&#39;,
ssex varchar(4) NOT NULL comment &#39;性别&#39;,
sclass int(8) NOT NULL comment &#39;班级&#39;,
sage int(4) NOT NULL comment &#39;年龄&#39;
)DEFAULT CHARSET=utf8;解析:
int为整型,这里学号sno、班级编号sclass设定为整型;
varchar字符型,这里姓名sname、性别ssex、年龄sage设定为字符型;
字段属性设定为not null,表示字段值不允许空;
primary key关键字用于定义列为主键。主键唯一、不重复,一般以编号为主键;
auto_increment定义列属性为自增,一般用于主键,插入数据时数值会自动加1;
comment相当于给列添加备注;
DEFAULT CHARSET 设置编码,utf8对传值中文防止乱码。
7、显示数据表
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| student |
| student1 |
+----------------+8、查看表结构
mysql> desc student;
+--------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+----------------+
| sno | int(8) | NO | PRI | NULL | auto_increment |
| sname | varchar(20) | NO | | NULL | |
| ssex | varchar(5) | NO | | NULL | |
| sclass | int(8) | NO | | NULL | |
| sage | int(4) | NO | | NULL | |
+--------+-------------+------+-----+---------+----------------+9、删除表
语法:drop table <表名>;drop删除表请谨慎操作,因为执行删除命令后该表及包含的数据都会消失。以下示例:删除一个表名为student的数据表。
mysql> drop table student;10、插入表数据
语法:insert into <表名> ( 字段名1,字段名2,...字段名N)
values
( 值1, 值2,...值N );示例:
insert into student (sno,sname,ssex,sclass,sage) values (6301,&#39;柠檬&#39;,&#39;女&#39;,20190163,18);注意:如果数据值为字符型必须用单引号或者双引号括起来。
insert into student (sname,ssex,sclass,sage)
values
(&#39;毛毛&#39;,&#39;女&#39;,20190163,20),(&#39;大大&#39;,&#39;女&#39;,20190163,22);11、修改表数据
语法:update 表名 set 字段名1= 新值1,字段名2=新值2, … where 条件表达式1 and(or) 条件表达式2 …;示例:修改学员姓名为毛毛的性别为男
update student set ssex = &#39;男&#39; where sname = &#39;毛毛&#39;;12、查询单表数据
语法:select 字段名1,字段名2,… from <表名> where 条件表达式1 and(or) 条件表达式2 … ;示例:查询student表中,性别女且年龄在20岁以上的学员信息
select * from student where ssex = &#39;女&#39; and sage > 20;示例:查询student表中,性别女或者年龄在20岁以上的学员姓名
select sname from student where ssex = &#39;女&#39; or sage > 20;示例:查询student表中,性别女且年龄在20岁以上的前2行学员信息
select sname from student where ssex = &#39;女&#39; and sage > 20 limit 0,2;13、查询多表关联数据
语法:
1. 关联查询:select 字段名1,… from 表名1,表名2,…where 关联条件表达式 and 过滤条件表达式 …;
2. 等值连接:select 字段名1,… from 表名1 inner join 表名2 on 关联条件表达式 and 过滤条件表达式… ;
3. 左连接:select 字段名1,… from 表名1 left join 表名2 on 关联条件表达式 and 过滤条件表达式… ;
3. 右连接:select 字段名1,… from 表名1 right join 表名2 on 关联条件表达式 and 过滤条件表达式… ;示例:

- 以上左表user表,右表为左表的对象信息user_lover表,查询两表中存在对象关系的信息
SELECT * FROM `user`, user_lover WHERE `user`.id = user_lover.u_id;
SELECT * FROM `user`INNER JOIN user_lover on `user`.id = user_lover.u_id;运行结果:

SELECT * FROM `user`LEFT JOIN user_lover on `user`.id = user_lover.u_id;运行结果:

SELECT * FROM `user` RIGHT JOIN user_lover on `user`.id = user_lover.u_id;运行结果:
14、删除表数据
语法:delete from 表名 where 条件1 and(or) 条件2……;示例:删除student表中年龄小于18岁的用户信息
delete from student where sage < 18;15、mysql学习教程
关注并私信关键词“资料”免费领取全套MySQL学习教程 |
|