登录本地数据库:
a.mysql -u用户名 -p密码[敲回车,直接进入,不用输入密码]
例子:mysql -uroot -proot
b.mysql -u用户名 -p[敲回车,需输入密码,才可进入数据库]
例子:mysql -uroot -p
退出数据库:
输入exit即可退出mysql数据库
数据库的CRUD操作:
创建数据库:
create database 数据库名;
例子:create database db;
创建数据库并指定字符集为utf8:
create database 数据库名 character set 字符集;
例子:create database test character set utf8;
创建数据库并指定字符集为utf8,及校对规则[校对规则可写可不写,有默认的校对规则:不区分大小写]
create database 数据库名 character set 字符集 collate 校对规则;
例子:create database test2 character set utf8 collate utf8_bin;
查看数据库:
查看数据库定义的语句:
show create database 数据库名;
例子:show create database test;[未指定校对规则的数据库]
show create database test2;[指定校对规则的数据库]
查看所有数据库:show databases;
注:查看的时候,有3个默认库,不要动他.这三个库分别是:information_schema,performance_schema,mysql[删了的话,需要重装mysql数据库]
修改数据库:
修改数据库的字符集:
alter database 数据库名 character set 字符集;
例子:alter database test character set gbk;
删除数据库:
drop database 数据库名;
例子:drop database db;
其他数据库操作指令:
切换数据库:(选中数据库)
use 数据库名;
例子:use db;
查看表结构:
desc 数据库表名;
例子: desc student;
查看当前正在使用的数据库:
select database();
数据库表的CRUD操作:
数据库表的创建:
create table 表名(
列名 列的类型(指定长度) 约束,
列名2 列的类型(指定长度) 约束
);
列的类型:
java sql
int int
char/String char/varchar
char与varchar的区别:char:固定长度 varchar:可变长度 长度代表的是字符的个数
例子:char(3) 1 1空格空格 varchar(3) 1 1
double double
float float
boolean boolean
date date :YYYY-MM-DD
time:hh:mm:ss
datetime: YYYY-MM-DD hh:mm:ss
timestamp:YYYY-MM-DD hh:mm:ss
datetime与timestamp的区别:显示是一样的.区别:datetime默认值是null timestamp默认值是使用当前时间,是个时间戳.
text:主要是存放文本
blob:存放的是二进制
列的约束:
主键约束:primary key
唯一约束:unique
非空约束:not null
创建表:
1.分析实体 : 学生
2.学生ID
3.学生姓名
4.学生性别
5.年龄
create table student(
sid int primary key not null,
sname varchar(50) ,
sex int,
sage int(11)
);
查看表:
查看所有表: show tebles;
查看表的定义/创建过程:
show cretae table 数据库表名;
例子:show create table student;
修改表:
添加列(add):
alter table 数据库表名 add 列名 列的类型 列的约束;
例子:alter table student add chengji int not null;
修改列(modify):
alter table 数据库表名 modify 列名 列的类型 列的约束;
例子:alter table student modify sex varchar(2);
修改列名(change):
alter table 数据库表名 change 旧的列名 新的列名 列的类型 列的约束;
例子:alter table student change sex gender varchar(2);
删除列(drop):
alter table 数据库表名 drop 列名;
例子:alter table student drop cehngji;
修改表名(rename):[一般不做修改]
rename table 数据库表名 to 新的表名;
例子:rename table student to stu;
修改表的字符集:[一般不做修改]
alter table 数据库表名 character set 字符集;
例子:alter table stu character set gbk;
删除表:
drop table 数据库表名;
例子:drop table stu;
练习:
-------------------------------------------------------------------------
数据库操作sql练习
一、数据库的创建:
1、创建一个名称为mydb1的数据库
create database mydb1;
2、创建一个使用utf8字符集的mydb2数据库。
create database mydb2 character set utf8;
3、创建一个使用utf8字符集,并带比较规则的mydb3数据库。
create database mydb3 character set utf8 collate utf8_general_ci;
二、数据库的修改:
修改mydb2字符集为gbk;
alter database mydb2 character set gbk;
三、数据库的删除:
删除数据库mydb3。
drop database mydb3;
四、数据库查看:
查看所有数据库。
show databases;
查看数据库mydb1的字符集
show create database mydb1;
-----------------------------------------------
数据库中表操作的sql练习
一、创建表
1、创建一张员工表employee
字段 类型
id 整形
name 字符型
gender 字符型
birthday 日期型
entry_date 日期型
job 字符型
salary 小数型
resume 文本
2、创建一张员工表employee2
字段 类型
id 整形
name 字符型
gender 字符型
birthday 日期型
entry_date 日期型
job 字符型
salary 小数型
resume 文本
要求:把id 设置成主键,并且自动增长。name不允许为空。
create table employee (id int primary key auto_increment,
name varchar(20) not null,
gender varchar(10),
birthday date,
entry_date date,
job varchar(30),
salary double,
resume text
);
二、删除表
1、删除employee2表
drop table employee;
三、数据表的结构的修改:
1、在上面员工表的基本上增加一个image列。
alter table employee add image varchr(20);
2、修改job列,使其长度为60。
alter table employee modify job varchar(60);
3、删除gender列。
alter table employee drop gender;
4、表名改为user。
rename table employee to user;
5、修改表的字符集为utf8
alter table user character set utf8;
6、列名name修改为username
alter table user change name username varchar(20) not null;
四、查看表结构
1、查看数据库内的所有表
show tables;
2、查看employee的建表语句
show create table employee;
3、查看employee的表结构
desc employee;