连接数据库服务器
mysql -u root -p
-u: 用户名
-p 密码
-h:IP地址
=P 端口号,默认是3306
显示当前有哪些数据库名
show databases;
创建新的数据库
create database [if not exists] <dbname> character set utf8
1[if not exists] :如果后面的数据库名不存在,则创建数据库
2 数据库名
注意:
1 中括号表示可选语法, <>表示必填
2 sql语言的大小写不敏感,A和a是一样的。
dbname的命名规范
1 首字母要求使用大小写字母,和下划线,@符号,#号
2 后续的字符可以是数字,字母。
3 不允许使用保留字(mysql已经使用作为语法的单词)
修改数据库的字符集
alter database <dbname> character set 'utf8'
删除数据库
drop database <dbname>
创建表
create table <tbname> (
字段名 数据类型 约束类型 ,
字段名 数据类型 约束类型
) engine=innodb [character set 'utf8']
数据类型总结
数字类型
1 整数
tinyint 极小整数,0 到255
int 整数 (0,42亿)
bigint 大整数
2 小数
float 精度7位小数
double,双精度浮点数,精度15位小数
decimal 大浮点数,精度30位小数
使用:
age int(3) 最大3位整数
salary(8,2) 一共七位,包含2位小数
2 字符串
在sql中使用单引号括起来的数据就是字符串。
char(n) 定长字符串 范围0到255
varchar(n)变长字符串,范围0到65535
text(n) 文本型,0到65535
char和varchar的区别:
1 使用空间方式不同,char(10)如果只存了5个字符的内容,但是实际上还是占用了10个字符的空间,而varchar(10) 如果存了5个字符的内容,实际上占用的就是5个空间。
2 char的处理速度要比varchar快。如果能够预估所存内容的长度,优先使用char
3 日期
year 年,2023这些,
date 日期 yyyy-mm-dd
time HH:MM:SS
timestamp:yyyy-mm-dd HH:MM:SS 时间戳
datetime:yyyy-mm-dd HH:MM:SS格式和时间戳是一样的。