• 售前

  • 售后

热门帖子
入门百科

MySQL数据库操纵的根本下令

[复制链接]
同感丶 显示全部楼层 发表于 2021-10-25 18:47:28 |阅读模式 打印 上一主题 下一主题
一、创建数据库:
  1. create data data _name;
复制代码
php中创建数据库的两种方法:(mysql_create_db(),mysql_query())
  1. $conn = mysql_connect(“localhost”,”username”,”password”) or
  2. die ( “could not connect to localhost”);
  3. mysql_create_db(“data _name”) or
  4. die (“could not create data ”);
  5. $string = “create data data _name”;
  6. mysql_query( $string) or
  7. die (mysql_error());
复制代码
二、选定数据库
在创建表之前,必须要选定要创建的表所在的数据库
选定数据库:
通过命令行客户端:
  1. use data _name
复制代码
通过
  1. php: mysql_select_db()
复制代码
  1. $conn = mysql_connect(“localhost”,”username”,”password”) or
  2. die ( “could not connect to localhost”);
  3. mysql_select_db(“test”,$conn) or
  4. die (“could not select data ”);
复制代码
三、创建表
  1. create table table_name
复制代码
如:
  1. create table table_name
  2. (
  3. column_1 column_type column attributes,
  4. column_2 column_type column attributes,
  5. column_3 column_type column attributes,
  6. primary key (column_name),
  7. index index_name(column_name)
  8. )
复制代码
在命令行客户端必要键入整个命令
在php中使用,mysql_query()函数
如:
  1. $conn = mysql_connect(“localhost”,”username”,”password”) or
  2. die ( “could not connect to localhost”);
  3. mysql_select_db(“test”,$conn) or
  4. die (“could not select data ”); $query = “create table my_table (col_1 int not null primary key,  col_2 text  )”; mysql_query($query) or die (mysql_error());
复制代码
四、创建索引
  1. index index_name(indexed_column)
复制代码
五、表的类型
ISAM MyISAM BDB Heap
声明表类型的语法:
  1. create table table_name type=table_type
  2. (col_name column attribute);
复制代码
默认使用MyISAM
六、修改表
  1. alter table table_name
复制代码
更改表名
  1. alter table table_name rename new_table_name
复制代码
大概(高版本中)
  1. rename table_name to new_table_name
复制代码
添加和删除列
添加列:
  1. alter table table_name add column column_name colomn attributes
复制代码
例如:
  1. alter table my_table add column my_column text not null
复制代码
first 指定插入的列位于表的第一列
after 把新列放在已经存在的列的背面
    例如:
  1. alter table my_table add column my_next_col text not null first
  2. alter table my_table add column my_next_col text not null after my_other _column
复制代码
删除列:
  1. alter table table_name drop column column name
复制代码
添加和删除索引:
  1. alter table table_name add index index_name (column_name1,column_name2,……)
  2. alter table table_name add unique index_name (column_name)
  3. alter table table_name add primary key(my_column)
  4. alter table table_name drop index index_name
复制代码
如:
  1. alter table_name test10 drop primary key
复制代码
更改列界说:
  用change或是modify命令可以更改列的名称或是属性。要更改列的名称,还必须重新界说列的属性。例如:  
  1. alter table table_name change original_column_name new_column_name int not null
复制代码
留意:必须要重新界说列的属性!!!
  1. alter table table_name modify col_1 clo_1 varchar(200)
复制代码
七、向表中输入信息(insert)
  1. insert into table_name (column_1,column_2,column_3,…..)
  2. values (value1,value2,value3,……)
复制代码
如果要存入字符串,则必要使用单引号“'”将字符串括起来,但是必要留意字符的转意
如:
  1. insert into table_name (text_col,int_col) value (\'hello world\',1)
复制代码
必要转义的字符有:单引号' 双引号”  反斜杠\  百分号%  下划线_
可以连续使用两个单引号转义单引号
八、updata语句
  1. updata table_name set col__1=vaule_1,col_1=vaule_1 where col=vaule
复制代码
where部分可以有任何比力运算符
如:
  table folks
  id  fname  iname  salary
  1  Don  Ho  25000
  2  Don  Corleone 800000
  3  Don  Juan  32000
  4  Don  Johnson  44500
  updata folks set fname='Vito' where id=2
  updata folks set fname='Vito' where fname='Don'
  updata folks set salary=50000 where salary<50000
九、删除表、数据库
  1. drop table table_name
  2. drop data data _name
复制代码
在php中可以通过mysql_query()函数使用drop table命令
在php中删除数据库必要使用mysql_drop_db()函数
十、列出数据库中全部可用表(show tables)
留意:使用该命前必须先选定数据库
在php中,可以使用mysql_list_tables()得到表中的清单

十一、查察列的属性和类型
  1. show columns from table_name
  2. show fields from table_name
复制代码
使用mysql_field_name()、mysql_field_type()、mysql_field_len()可以得到类似信息!
十二、基本的select语句
要求指出举行选择的表,以及要求的列名称。若要选定全部的列,可用*代表全部的字段名
  1. select column_1,column_2,column_3 from table_name
复制代码
大概
  1. select * from table_name
复制代码
用mysql_query()可向Mysql发送查询
十三、where子句
限制从查询(select)返回的记载行
  1. select * from table_name where user_id = 2
复制代码
如果要对存储字符串(char、varchar等类型)的列举行比力,就必要在where子句中用单引号把要比力的字符串括起来
如:
  1. select * from users where city = ‘San Francisco'
复制代码
通过向where子句添加and或是or,可以一次比力几个运算符
  1. select * from users where userid=1 or city='San Francisco'
  2. select 8 from users where state='CA' and city='San Francisco'
复制代码
留意:空值不能和表中的任何运算符比力,对于空值,必要使用is null或是is not null谓词
  1. select * from users where zip!='1111′ or zip='1111′ or zip is null
复制代码
如果要找到包罗任何值(除空值以外)的全部记载,可以
  1. select * from table_name where zip is not null
复制代码
十四、使用distinct
当使用distinct时,Mysql引擎将删除有一样效果的行。
  1. select distinct city,state from users where state='CA'
复制代码
十五、使用between
使用between可以选择在某个范围内的值,between可用于数字,日期,文本字符串。
如:
  1. select * from users where lastchanged between 20000614000000 and 20000614235959
  2. select * from users where lname between ‘a' and ‘m'
复制代码
十六、使用in/not in
若某列大概返回好几个大概的值,就可以使用in谓词
  1. select * from users where state='RI' or state='NH' or state='VT' or state='MA' or state='ME'
复制代码
   可改写为:
  1. select * from users where state in (‘RI','NH','VY','MA','ME')
复制代码
如果要到达雷同的效果,但效果集相反,可使用not in 谓词
  1. select * from user where state not in (‘RI','NH','VT','MA','ME')
复制代码
十七、使用like
如果必要使用通配符,则要使用like
  1. select * from users where fname like ‘Dan%' %匹配零个字符
  2. select * from users where fname like ‘J___' 匹配以J开头的任意三字母词
复制代码
Mysql中like不区分字母巨细写
十八、order by
order by语句可以指定查询中返回的行的顺序,可对任意列类型排序,通过在末端放置asc或是desc以设置按升序或是降序排列,如果不设置,默认使用asc
  1. select * from users order by lname,fname
复制代码
可以按照必要根据任意多的列排序,也可以混合使用asc和desc
  1. select * from users order by lname asc, fname desc
复制代码
十九、limit
limit限制从查询中返回的行数,可以指定开始的行数和盼望返回的行数
  得到表中的前5行:
  1. select * from users limit 0,5
  2.   select * from users order by lname,fname limit 0,5
复制代码
得到表的第二个5行:
  1.   select * from users limit 5,5
复制代码
二十、group by 与聚合函数
使用group by后Mysql就能创建一个临时表,记载下符合准则的行与列的全部信息
count()   盘算每个集合中的行数
  1. select state,count(*) from users group by state
复制代码
*号指示应该盘算集合中的全部行
  1. select count(*) from users
复制代码
盘算表中全部的行数
可以在任何函数或列名后使用单词as,然后指定一个作为别名的名称。如果必要的列名凌驾一个单词,就要使用单引号把文本字符串括起来
sum() 返回给定列的数量
min() 得到每个集合中的最小值
max() 得到每个集合中的最大值
avg() 返回集合的品均值
having
限制通过group by表现的行,where子句体如今group by中使用的行,having子句只限制表现的行。

二十一、毗连表
在select句的from部分必须列出全部要毗连的表,在where部分必须表现毗连所用的字段。
  1. select * from companies,contacts where companies.company_ID=contacts.company_ID
复制代码
当对一个字段名的引用不明确时,必要使用table_name.column_name语法指定字段来自于哪个表
二十二、多表毗连
在select背面添加额外的列,在from子句中添加额外的表,在where子句中添加额外的join参数–>

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作