连接数据库
1、系统偏好设置 > MySQL > start MySQL server,
开启本机的MySQL数据库服务
2、打开终端,输入如下命令:
/usr/local/MySQL/bin/mysql -u root -p
其中,root为数据库用户名
3、输入密码:
界面提示输入密码:
Enter password:
若为初次使用该数据库,则默认密码为空,直接回车即可进入mysql命令行;
若已设置密码,则输入数据库密码后,回车,即可进入mysql命令行。
进入数据库
SQL语句
1.数据库的操作
对数据库的操作
1、退出数据库命令: exit
2、查询所有的数据库: show databases; (注意:这里一定要加s和;)
3、创建数据库 create database 数据库的名称 [ character set 编码](可有可无,如果没有的话,就是这个服务器的默认编码)
- 没有编码格式的:create database abintest;
-
加编码的: create database my_datatest character set gbk; (创建gbk编码格式的数据库)
创建数据库
4、 查看当前数据库的编码: show create database 数据库名称;
5、修改数据库的编码:alter database 数据库名称 character set 编码形式
数据库编码
6、删除数据库:drop database 数据库名称;
删除数据库
7、修改数据库名称: rename database 旧的名称 to 新的数据库名称(好像不管用)还可以:进入mysql的文件夹,然后改一下数据库的文件夹名称(待测试)
8、切换数据库: use 数据库名称;
9、查看当前使用的数据库: select database();
查看当前使用数据库
2.表的操作
1.创建数据表:create table 数据表名称 (字段1 数据类型,字段2,字段3...);
数据类型有:int、varchar、double、bit、datatime
例子:create table employee( id int [primary key auto_incrament], name varchar(20),age int, salary double,sex varchar(5));
<font color="#ff0000">[primary key auto_incrament] 主键自增长 可选</font>
2.查看数据表: show tables;
查看数据表
3.查看数据表编码: show create table 数据表名
4.修改数据表编码:alter table 数据表名称 character set 编码;
修改数据表编码
5.查看数据表结构:desc 数据表名称;
查看数据表结构
6.修改数据表结构
(1)增加列,添加一个字段
alter table 数据表名称 add 字段名称 字段类型;
添加字段
(2)修改长度/类型/约束
alter table 数据表的名称 modify 字段名称 新的类型(新的长度);
修改字段类型
(3)修改列名(修改字段名称)
alter table 数据表名称 change 旧字段名 新的字段名 类型(长度)
修改字段名称
(4)删除列(删除字段)
alter table 数据表名称 drop 字段名称;
删除列
7.修改数据表名称:rename table 旧的数据表名称 to 新数据表名称;
修改数据表名称
8.主键约束
主键的约束就是为了保证一个列数据不重复。 用primary key修饰。一般来说,一个表只有一个主键
(1)添加主键(在现有字段上添加主键):alter table 数据表名称 modify 字段名称 类型 primary key;
添加主键
(2)新建字段的时候添加主键:alter table 数据表名称 add 字段名 字段类型 primary key;
例如:alter table person add id int primary key;
(3) 可以让主键自动增加auto_increment;
例如:alter table person add id int primary key auto_increment;
添加主键自增长
9.唯一约束,是为了保证数据不重复,与主键不同的是可以控制多个字段不重复。
例如:create table student(id int primary key auto_increment,name varchar(20),age int,stu_number varchar(20) unique, sex varchar(10));
唯一约束
10.非空约束 ,就是被约束的字段必须有数据,不能为空。
(1)创建数据表时,可以直接在字段类型后添加not null。
例如: create table student(id int primary key auto_increment,name varchar(20),age int not null,stu_number varchar(20) unique, sex varchar(10) not null);
(2)修改字段不能为空
alter table 数据表 modify 字段 字段名 not null;
字段不为空
11.删除主键约束/唯一约束/非空约束
(1)删除主键(注意:如果主键是自动增长的,会报错。需要先把自动增长删除)
alter table 表名 drop primary key;
删除报错
需要先修改自动增长
alter table student modify id int;
删除自动增长
删除主键
(2)删除唯一约束
alter table 表名 drop index 字段名称;
删除唯一约束
(3)删除非空约束, 直接删除即可
alter table 表名 modify 字段 字段类型;
删除非空约束
12.删除表
drop table 表名;
删除表
3.数据的操作
用person表和worker操作
person表
worker表
1.插入完整数据(增)(注意主键是自动增长的,第二次输入数据时可以不用设置值)
(1)insert into 表名(字段名称1,字段名称2...)values(值1,值2...);
插入两条数据
(2)如果插入全部数据,则可以省略前面的字段名称,
insert into 表名 values (值1,值2...);
(3)插入部分数据,直接输入字段和对应的值就可以了
insert into person (name,age) values (“哈哈”,20);
(4)插入中文
如果插入报错,就说明数据库是utf-8格式的,需要把数据库的编码格式修改为gbk。
在数据库的配置文件中修改,可以自行百度。
2.查询表中的数据(查)
(1)select * from 表名;
(2)select * from 表名 [where 条件];
条件:=、<>、>=、<=、>、<、 is null、is not null、 and、or、like
例如: 年龄大于30的工人;
条件查询
例如:要把worker表中的薪水 5000到13000的人员都选出来
between ...in 前面的数字一定要小于后边的数字
筛选区间范围
例如:挑选出年龄为23、25、44的工人;
多个值筛选
(3)select 列名,列名 from 表名 [where 条件];
筛选出需要的列表
例如:筛选出worker表 的姓名和年龄;
筛选有用的列
(4)select 列名,列名... from 表名 order by 列名 asc(升序)| desc (降序);
排序有两种:升序和降序;
例如:
按照年龄排序,升序;
按照工资排序,降序;
排序
(5)select 列名 as 别名,列名 as 别名 from 表名;
别名,好处是可以根据我们自己的需要来显示字段
例如:worker表中显示姓名、年龄、薪资列
设置别名
(6)模糊查询
like 通配符。
例如: 查询worker表中的 name是abin开头的。
模糊查询
_ 占位符。一个代表一个字符长度;
例如: 查询worker表中的那么以abin开头的长度为2的人员;
select * from worker where like 'abin_'; (两个下划线)
占位符查询
3.修改数据(改)对数据进行更新
(1) update 表名 set 字段=值 条件(where);
修改数据
(2) 当判断为空的时候,不能使用=null,应该用 is null;
更新判断null
4.删除表中的数据(删)
delete from 表名 条件
删除数据
5.函数
导入数据库:
1.打开终端输入 mysql -u root -p
2.show databases;
3.use 数据库名;
4.source 将sql文件拖入终端; (不要忘记后边的分号)
5.回车,即可导入成功
网友评论