几个DOS命令
在DOS环境下命令后面没有分号,在MySQL环境下,命令后面有分号
进入盘符:
语法:盘符:
进入盘符下的某个文件夹
语法:cd 路径
上级目录: ../
进入根目录: /
Host 主机 -h
Username 用户名 -u
Password 密码 -p
Port 端口 -P
E:\wamp\bin\mysql\mysql5.6.17\bin\mysql -hlocalhost -uroot -p -P3306
如果端口号是3306时,端口号可以省略。
如果链接的是本地MySQL,数据库地址也可以省略。
E:\wamp\bin\mysql\mysql5.6.17\bin\mysql -uroot -p
2.退出数据库
A) exit;
B) quit;
C) \q;
语法:
Create database 数据库名;
B)如果创建的数据库已存在,会报错;
C)创建的时候判断一下,如果不存在就创建;
语法:create database if not exists 数据库名;
D) 创建数据库的时候指定字符编码
语法:create database 数据库名 charset=字符编码;
语法:show databases;
语法:show create database 数据库名;
更改数据库的字符编码
语法:alter database 数据库名 charset=字符编码;
A)语法; drop database 数据库名;
B)如果删除不存在的数据库,会报错。
C)在删除之前要判断数据库是否存在,如果存在才才删除。
语法:drop database if exists 数据库名;
A)语法: use 数据库名;
行也叫记录,一行就是一条记录。
列也叫字段,一列是一个字段。字段也叫属性。
一个表中包含多个字段。
语法:
Create table 表名(
字段1 数据类型 [null | not null] [default] [auto increment] [primary key],
字段2 数据类型
..........
)
Not null :不为空
Default: 默认值
auto increment:自动增长
Primary key: 主键
(特点:不能重复,不能为空,一个表只能有一个主键,主键可以由 多个字段一起组成)
Int :整形
Decimal(总位数,小数位数):存小数
Char( ): 字符(定长)
Varchar():字符(可变长度)
text :大段文本
语法: show tables;
语法: show create table 表名 [\G];
\G:表示table和create table字段竖排
describe 表名;(可以把describe简写为desc)
Describe:描述
语法:drop table 表名;
删除多个表:drop table 表1,表2,....;
A)语法:inset into 表名(字段名1,字段名2......)values(值1,值2.....)
B)插入字段可以和数据库的字段的顺序不一致,但是值和插入的字段的顺 序必须一致
C)当插入的值和数据表的字段顺序和个数都一致时,插入字段是可以省略 的。
D)自动增长的插入
Insert into stu values(null,’李清照’,’女’,’上海’,78);
E)默认值的插入
Insert into stu values(null,’辛弃疾’,’男’,default,90);
语法 : update 表名 set 字段1=值1,字段2=值2 where条件
例:把李白的性别改成女。
update stu set stu_sex=’女’ where stu_name=’李白’;
把所有的性别都变成女。
update stu set stu_sex=’女’;
A)语法:
select 列名 from 表[where 条件] [order by 排序]
[limit 限制 起始位置,获取的记录数];
排序:升序 asc
降序 desc
Limit中的起始位置是从0开始的。
B)运算符
i.比较运算符
运算符 描述
> |
|
>= |
|
|
|
|
|
= |
等于 |
|
不等于 |
ii.逻辑运算符
运算符 描述
and |
与 |
or |
或 |
not |
非 |
例:1.查询所有学生的姓名和性别
select stu_name,stu_sex from stu;
2.查询所有学生的所有信息。
select * from stu;
3.查询所有男生的信息。
select * from stu where stu_sex='男';
4.查询所有的女生和北京的男生的信息。
select * from stu where stu_sex='女' or (stu_sex='男' and stu_address='北京');
5.按成绩由高到低排列。
select * from stu order by stu_ score desc;
6.取前二个学生的信息。
select * from stu limit 2;
7.从第二个学生开始,取两个学生的成绩。
select * from stu limit 1,2;
8.找出前两名。
select * from stu order by stu_score desc limit 2;
语法:delete from 表名 [where 条件];
例:1.删除李白
Delete from stu where stu_name=’李白’;
2.删除表中的所有数据。
delete from stu;